package com.dfe.backend.common.sax.spd.substation.region.device;

import lombok.Data;

import java.util.List;

/**
 * 【描述】：7.2.8　表示设备内部器件，满足下列规定：
 * a)InDevice元素包含1个或多个Component元素。
 * b)当InDevice所属的Device或SubDevice元素的partName属性不为空时，InDevice元素为partName对应的PartTemplate下相同name的InPartTemplate元素实例。当InDevice元素及其子元素与InPartTemplate元素的属性值不同时，应显式实例化InDevice元素及其子元素，并声明值不同的属性，未声明的元素及属性与InPartTemplate元素相同。当InDevice元素及其子元素与InPartTemplate元素的属性值相同时，可隐式实例化InDevice元素。
 * 当InDevice所属的Device或SubDevice元素的partName属性为空时，InDevice元素及其属性应显式实例化
 *
 * @author LiChang
 * @since 2025-7-29 14:06
 */
@Data
public class InDevice {

    /**
     * 内部器件名称，应在Device或SubDevice中唯一
     */
    private String name;
    /**
     * 内部器件的描述
     */
    private String desc;
    /**
     * 内部器件的型号
     */
    private String type;
    /**
     * 内部器件的制造厂商名称
     */
    private String manufacturer;
    /**
     * 内部器件的类型，注意这里应为class，但冲突，所以定为className
     */
    private String className;

    List<Component> componentList;
}
